package com.sg.controller.bff;

import com.sg.service.biz.bff.SmallCircleCommonService;
import com.sg.dto.biz.bff.req.*;
import com.sg.dto.biz.bff.res.*;
import com.sg.common.ro.OkrResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
@Api(value = "SmallCircleCommon", tags = {"SmallCircleCommon"})
@RestController
// @RequestMapping("/oms/smallCircleCommon/")
public class SmallCircleCommonController {

    @Autowired
    SmallCircleCommonService smallCircleCommonService;

    /**
     * B3查询部门所在圈子内容列表(管理)
     * gen by moon at 3/27/2024, 10:56:19 PM
     */
    @PostMapping("/oms/mgt/smallCircleCommon/queryDeptCircleContentList")
    @ApiOperation(value = "B3查询部门所在圈子内容列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryDeptCircleContentListRespDto> queryDeptCircleContentList(@RequestBody(required = false) @Validated BffQueryDeptCircleContentListReqDto reqDTO) {
        return OkrResult.success(smallCircleCommonService.queryDeptCircleContentList(reqDTO));
    }

    /**
     * B3查询我相关的评价模板列表(管理)
     * gen by moon at 3/27/2024, 11:14:53 PM
     */
    @PostMapping("/oms/mgt/smallCircleCommon/queryMyEvaluationList")
    @ApiOperation(value = "B3查询我相关的评价模板列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryMyEvaluationListRespDto> queryMyEvaluationList(@RequestBody(required = false) @Validated BffQueryMyEvaluationListReqDto reqDTO) {
        return OkrResult.success(smallCircleCommonService.queryMyEvaluationList(reqDTO));
    }

    /**
     * B3查询评价模板下的部门列表(管理)
     * gen by moon at 3/27/2024, 11:14:57 PM
     */
    @PostMapping("/oms/mgt/smallCircleCommon/queryDeptOfEvalutionList")
    @ApiOperation(value = "B3查询评价模板下的部门列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryDeptOfEvalutionListRespDto> queryDeptOfEvalutionList(@RequestBody(required = false) @Validated BffQueryDeptOfEvalutionListReqDto reqDTO) {
        return OkrResult.success(smallCircleCommonService.queryDeptOfEvalutionList(reqDTO));
    }

    /**
     * B3查询虚拟组织下的部门列表(管理)
     * gen by moon at 3/27/2024, 11:14:59 PM
     */
    @PostMapping("/oms/mgt/smallCircleCommon/queryDeptOfVirtualOrgList")
    @ApiOperation(value = "B3查询虚拟组织下的部门列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryDeptOfVirtualOrgListRespDto> queryDeptOfVirtualOrgList(@RequestBody(required = false) @Validated BffQueryDeptOfVirtualOrgListReqDto reqDTO) {
        return OkrResult.success(smallCircleCommonService.queryDeptOfVirtualOrgList(reqDTO));
    }

    /**
     * B3查询虚拟组织下的人员列表(管理)
     * gen by moon at 3/27/2024, 11:15:02 PM
     */
    @PostMapping("/oms/mgt/smallCircleCommon/queryPersopnOfVirtualOrgList")
    @ApiOperation(value = "B3查询虚拟组织下的人员列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryPersopnOfVirtualOrgListRespDto> queryPersopnOfVirtualOrgList(@RequestBody(required = false) @Validated BffQueryPersopnOfVirtualOrgListReqDto reqDTO) {
        return OkrResult.success(smallCircleCommonService.queryPersopnOfVirtualOrgList(reqDTO));
    }

    /**
     * B3查询我下属负责的小圈子列表(管理)
     * gen by moon at 3/27/2024, 11:15:06 PM
     */
    @PostMapping("/oms/mgt/smallCircleCommon/querySubordinateChargeSmallCircleList")
    @ApiOperation(value = "B3查询我下属负责的小圈子列表(管理)", response = OkrResult.class)
    public OkrResult<BffQuerySubordinateChargeSmallCircleListRespDto> querySubordinateChargeSmallCircleList(@RequestBody(required = false) @Validated BffQuerySubordinateChargeSmallCircleListReqDto reqDTO) {
        return OkrResult.success(smallCircleCommonService.querySubordinateChargeSmallCircleList(reqDTO));
    }
}
